package org.example;

import org.example.DbUtils.DBUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;


//再前两个例子当中 我们大仙 连接的创建以及关闭的代码重复出现 我们就考虑 写一个 工具类
// 简化 我们的代码 在 工具类中 实现 连接的创建 和 连接的关闭
public class Demo3_Insert {
    public static void main(String[] args) {
        PreparedStatement statement = null;
        //创建连接
        Connection connection = null;
        try {
            connection = DBUtil.getConnection();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
        //创建sql对象
        String sql = "insert into stu1(id,name,sn) values(?,?,?)";


        //这里使用 nextLOng会存在 缓冲符的问题
        //使用 long.valueof解决
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入编号：");
        long id = Long.valueOf(scanner.nextLine());
        System.out.println("请输入姓名：");
        String name = scanner.nextLine();
        System.out.println("请输入学号：");
        long sn = Long.valueOf(scanner.nextLine());
        try {
            statement = connection.prepareStatement(sql);
            statement.setLong(1,id);
            statement.setString(2,name);
            statement.setLong(3,sn);
            int i = statement.executeUpdate();
            if(i==1){
                System.out.println("插入成功");
            }else{
                System.out.println("插入失败");
            }
        } catch (SQLException e) {
            throw new RuntimeException(e);
        } finally {
           DBUtil.close(null,statement,connection);
        }

    }
}
